home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FishMarket 1.0
/
FishMarket v1.0.iso
/
fishies
/
626-637
/
disk_632
/
printfiles
/
source
/
prf_swd.c
< prev
next >
Wrap
C/C++ Source or Header
|
1992-05-06
|
14KB
|
442 lines
/* prf_swd.c */
/* V1.1 9-3-92 */
#include "prf.h"
struct TextAttr topaz8 = {
( STRPTR )"topaz.font", 8, 0x00, 0x01 };
struct TagItem SwdTags[] = {
WA_Left, 10,
WA_Top, 15,
WA_Width, 338,
WA_Height, 180,
WA_IDCMP, IDCMP_MOUSEBUTTONS|IDCMP_MOUSEMOVE|IDCMP_GADGETDOWN|IDCMP_GADGETUP|IDCMP_CLOSEWINDOW|IDCMP_VANILLAKEY|IDCMP_REFRESHWINDOW,
WA_Flags, WFLG_DRAGBAR|WFLG_DEPTHGADGET|WFLG_CLOSEGADGET|WFLG_SMART_REFRESH|WFLG_ACTIVATE,
WA_Gadgets, 0l,
WA_Title, (ULONG)SWD_TITLE,
WA_ScreenTitle, (ULONG)SCREEN_TITLE,
WA_MinWidth, 67,
WA_MinHeight, 21,
WA_MaxWidth, 640,
WA_MaxHeight, 256,
WA_AutoAdjust, 1l,
TAG_DONE };
long OpenSwd(struct prf_info *info)
{
struct NewGadget ng;
struct Gadget *g;
if(info->Swd) return (1L);
if ( NOT( g = CreateContext( &info->SGlist ))) return( 0L );
ng.ng_LeftEdge = 6;
ng.ng_TopEdge = info->BarHeight + 2;
ng.ng_Width = 100;
ng.ng_Height = 17;
ng.ng_GadgetText = GAD_PwdButton;
ng.ng_TextAttr = &topaz8;
ng.ng_GadgetID = GD_PwdButton;
ng.ng_Flags = PLACETEXT_IN;
ng.ng_VisualInfo = info->VisualInfo;
g = CreateGadget( BUTTON_KIND, g, &ng, GT_Underscore, '_', TAG_DONE );
info->SGadgets[ 0 ] = g;
ng.ng_LeftEdge = 232;
ng.ng_GadgetText = GAD_About;
ng.ng_GadgetID = GD_About;
g = CreateGadget( BUTTON_KIND, g, &ng, GT_Underscore, '_', TAG_DONE );
info->SGadgets[ 1 ] = g;
ng.ng_LeftEdge = 102;
ng.ng_TopEdge = info->BarHeight + 22;
ng.ng_Width = 230;
ng.ng_Height = 16;
ng.ng_GadgetText = GAD_Headline;
ng.ng_GadgetID = GD_Headline;
ng.ng_Flags = PLACETEXT_LEFT;
g = CreateGadget( STRING_KIND, g, &ng, GTST_String,info->Headline,GTST_MaxChars, 256, GT_Underscore, '_', TAG_DONE );
info->SGadgets[ 2 ] = g;
ng.ng_TopEdge = info->BarHeight + 38;
ng.ng_GadgetText = GAD_Footline;
ng.ng_GadgetID = GD_Footline;
g = CreateGadget( STRING_KIND, g, &ng, GTST_String,info->Footline,GTST_MaxChars, 256, GT_Underscore, '_', TAG_DONE );
info->SGadgets[ 3 ] = g;
ng.ng_LeftEdge = 6;
ng.ng_TopEdge = info->BarHeight + 56;
ng.ng_GadgetText = GAD_Date;
ng.ng_GadgetID = GD_Date;
ng.ng_Flags = PLACETEXT_RIGHT;
g = CreateGadget( CHECKBOX_KIND, g, &ng, GT_Underscore, '_', TAG_DONE );
info->SGadgets[ 4 ] = g;
ng.ng_LeftEdge = 102;
ng.ng_GadgetText = GAD_Time;
ng.ng_GadgetID = GD_Time;
g = CreateGadget( CHECKBOX_KIND, g, &ng, GT_Underscore, '_', TAG_DONE );
info->SGadgets[ 5 ] = g;
ng.ng_LeftEdge = 175;
ng.ng_GadgetText = GAD_Filename;
ng.ng_GadgetID = GD_Filename;
g = CreateGadget( CHECKBOX_KIND, g, &ng, GT_Underscore, '_', TAG_DONE );
info->SGadgets[ 6 ] = g;
ng.ng_LeftEdge = 6;
ng.ng_TopEdge = info->BarHeight + 70;
ng.ng_GadgetText = GAD_Pagenumber;
ng.ng_GadgetID = GD_Pagenumber;
g = CreateGadget( CHECKBOX_KIND, g, &ng, GT_Underscore, '_', TAG_DONE );
info->SGadgets[ 7 ] = g;
ng.ng_LeftEdge = 175;
ng.ng_GadgetText = GAD_Linenumber;
ng.ng_GadgetID = GD_Linenumber;
g = CreateGadget( CHECKBOX_KIND, g, &ng, GT_Underscore, '_', TAG_DONE );
info->SGadgets[ 8 ] = g;
ng.ng_LeftEdge = 6;
ng.ng_TopEdge = info->BarHeight + 82;
ng.ng_GadgetText = GAD_CRLF;
ng.ng_GadgetID = GD_CRLF;
g = CreateGadget( CHECKBOX_KIND, g, &ng, GT_Underscore, '_', TAG_DONE );
info->SGadgets[ 9 ] = g;
ng.ng_LeftEdge = 175;
ng.ng_GadgetText = GAD_FF;
ng.ng_GadgetID = GD_FF;
g = CreateGadget( CHECKBOX_KIND, g, &ng, GT_Underscore, '_', TAG_DONE );
info->SGadgets[ 10 ] = g;
ng.ng_Width = 323;
ng.ng_Height = 15;
ng.ng_GadgetText = 0l;
ng.ng_GadgetID = GD_Gadget11;
ng.ng_Flags = 0;
g = CreateGadget( STRING_KIND, g,&ng,GTST_String,info->Insertline, GTST_MaxChars, 256, TAG_DONE );
info->SGadgets[ 11 ] = g;
ng.ng_LeftEdge = 6;
ng.ng_TopEdge = info->BarHeight + 94;
ng.ng_Height = 48;
ng.ng_GadgetText = 0l;
ng.ng_GadgetID = GD_List;
g = CreateGadget( LISTVIEW_KIND, g, &ng,GTLV_Labels,&info->FileList, GTLV_ShowSelected, info->SGadgets[11], TAG_DONE );
info->SGadgets[ 12 ] = g;
ng.ng_LeftEdge = 6;
ng.ng_TopEdge = info->BarHeight + 146;
ng.ng_Width = 148;
ng.ng_Height = 14;
ng.ng_GadgetText = GAD_Filereq;
ng.ng_GadgetID = GD_Filereq;
ng.ng_Flags = PLACETEXT_IN;
g = CreateGadget( BUTTON_KIND, g, &ng, GT_Underscore, '_', TAG_DONE );
info->SGadgets[ 13 ] = g;
ng.ng_LeftEdge = 181;
ng.ng_GadgetText = GAD_Remove;
ng.ng_GadgetID = GD_Remove;
g = CreateGadget( BUTTON_KIND, g, &ng, GT_Underscore, '_', TAG_DONE );
info->SGadgets[ 14 ] = g;
ng.ng_LeftEdge = 6;
ng.ng_TopEdge = info->BarHeight + 162;
ng.ng_GadgetText = GAD_Print;
ng.ng_GadgetID = GD_Print;
g = CreateGadget( BUTTON_KIND, g, &ng, GT_Underscore, '_', TAG_DONE );
info->SGadgets[ 15 ] = g;
ng.ng_LeftEdge = 182;
ng.ng_GadgetText = GAD_quit;
ng.ng_GadgetID = GD_quit;
g = CreateGadget( BUTTON_KIND, g, &ng, GT_Underscore, '_', TAG_DONE );
info->SGadgets[ 16 ] = g;
if ( NOT g ) return(0L);
SwdTags[ 6 ].ti_Data = (ULONG)info->SGlist;
if ( NOT( info->Swd = OpenWindowTagList( 0l,SwdTags )))
return(0L);
GT_RefreshWindow( info->Swd,0l);
SetPrfSignals(info);
RefreshSwd(info);
return( 1L );
}
void CloseSwd(struct prf_info *info)
{
if (info->Swd)
{
SwdTags[0].ti_Data = (ULONG)info->Swd->LeftEdge;
SwdTags[1].ti_Data = (ULONG)info->Swd->TopEdge;
CloseWindow(info->Swd);
info->Swd = NULL;
}
if(info->SGlist)
{
FreeGadgets(info->SGlist);
info->SGlist = NULL;
}
SetPrfSignals(info);
}
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
UBYTE *QualityLabels[] = {
GAD_Quality1,
GAD_Quality2,
0l };
UBYTE *PitchLabels[] = {
GAD_Pitch1,
GAD_Pitch2,
0L};
UBYTE *cpiLabels[] = {
GAD_CPI10,
GAD_CPI12,
GAD_CPI15,
0l };
struct TagItem PwdTags[] = {
WA_Left, 261,
WA_Top, 11,
WA_Width, 368,
WA_Height, 100,
WA_IDCMP, IDCMP_VANILLAKEY|IDCMP_GADGETDOWN|IDCMP_GADGETUP|IDCMP_CLOSEWINDOW|IDCMP_REFRESHWINDOW,
WA_Flags, WFLG_DRAGBAR|WFLG_DEPTHGADGET|WFLG_CLOSEGADGET|WFLG_SMART_REFRESH|WFLG_ACTIVATE,
WA_Gadgets, 0l,
WA_Title, (ULONG)PWD_TITLE,
WA_ScreenTitle, (ULONG)SCREEN_TITLE,
WA_MinWidth, 67,
WA_MinHeight, 21,
WA_MaxWidth, 640,
WA_MaxHeight, 256,
WA_AutoAdjust, 1l,
TAG_DONE };
long OpenPwd(struct prf_info *info)
{
struct NewGadget ng;
struct Gadget *g;
if(info->Pwd) return (1L);
if ( NOT( g = CreateContext( &info->PGlist )))
return(0L);
ng.ng_LeftEdge = 19;
ng.ng_TopEdge = info->BarHeight + 2;
ng.ng_Width = 17;
ng.ng_Height = 9;
ng.ng_GadgetText = 0l;
ng.ng_TextAttr = &topaz8;
ng.ng_GadgetID = GD_Quality;
ng.ng_Flags = PLACETEXT_RIGHT;
ng.ng_VisualInfo = info->VisualInfo;
g = CreateGadget( MX_KIND, g, &ng, GTMX_Labels, QualityLabels, GT_Underscore, '_', TAG_DONE );
info->PGadgets[ 0 ] = g;
ng.ng_LeftEdge = 187;
ng.ng_GadgetText = 0l;
ng.ng_GadgetID = GD_Pitch;
g = CreateGadget( MX_KIND, g, &ng, GTMX_Labels, PitchLabels, GT_Underscore, '_', TAG_DONE );
info->PGadgets[ 1 ] = g;
ng.ng_LeftEdge = 20;
ng.ng_TopEdge = info->BarHeight + 22;
ng.ng_Width = 54;
ng.ng_Height = 15;
ng.ng_GadgetText = GAD_Linesperpage;
ng.ng_GadgetID = GD_Linesperpage;
g = CreateGadget( INTEGER_KIND, g, &ng, GTIN_Number, info->Lines, GTIN_MaxChars, 3, TAG_DONE );
info->PGadgets[ 2 ] = g;
ng.ng_LeftEdge = 188;
ng.ng_TopEdge = info->BarHeight + 22;
ng.ng_GadgetText = 0l;
ng.ng_GadgetID = GD_cpi;
g = CreateGadget( MX_KIND, g, &ng, GTMX_Labels, cpiLabels, GT_Underscore, '_', TAG_DONE );
info->PGadgets[ 3 ] = g;
ng.ng_LeftEdge = 21;
ng.ng_TopEdge = info->BarHeight + 54;
ng.ng_Width = 54;
ng.ng_Height = 15;
ng.ng_GadgetText = GAD_Lmargin;
ng.ng_GadgetID = GD_Lmargin;
g = CreateGadget( INTEGER_KIND, g, &ng, GTIN_Number, info->Lmargin, GTIN_MaxChars, 3, TAG_DONE );
info->PGadgets[ 4 ] = g;
ng.ng_LeftEdge = 189;
ng.ng_TopEdge = info->BarHeight + 54;
ng.ng_GadgetText = GAD_Rmargin;
ng.ng_GadgetID = GD_Rmargin;
g = CreateGadget( INTEGER_KIND, g, &ng, GTIN_Number, info->Rmargin, GTIN_MaxChars, 3, TAG_DONE );
info->PGadgets[ 5 ] = g;
ng.ng_LeftEdge = 23;
ng.ng_TopEdge = info->BarHeight + 76;
ng.ng_Width = 150;
ng.ng_Height = 16;
ng.ng_GadgetText = GAD_Saveprefs;
ng.ng_GadgetID = GD_Saveprefs;
ng.ng_Flags = PLACETEXT_IN;
g = CreateGadget( BUTTON_KIND, g, &ng, TAG_DONE );
info->PGadgets[ 6 ] = g;
ng.ng_LeftEdge = 190;
ng.ng_TopEdge = info->BarHeight + 76;
ng.ng_GadgetText = GAD_PPrint;
ng.ng_GadgetID = GD_PPrint;
g = CreateGadget( BUTTON_KIND, g, &ng, GT_Underscore , '_',TAG_DONE );
info->PGadgets[ 7 ] = g;
if ( NOT g )
return( 0L );
PwdTags[ 6 ].ti_Data = (ULONG)info->PGlist;
if ( NOT( info->Pwd = OpenWindowTagList( 0l, PwdTags )))
return( 0L );
GT_RefreshWindow( info->Pwd, 0l );
SetPrfSignals(info);
RefreshPwd(info);
return(1L);
}
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
void ClosePwd(struct prf_info *info)
{
if (info->Pwd)
{
PwdTags[0].ti_Data = (ULONG)info->Pwd->LeftEdge;
PwdTags[1].ti_Data = (ULONG)info->Pwd->TopEdge;
CloseWindow(info->Pwd);
info->Pwd = NULL;
}
if(info->PGlist)
{
FreeGadgets(info->PGlist);
info->PGlist = NULL;
}
SetPrfSignals(info);
}
void RefreshPwd(struct prf_info *info)
{
if(info->Pwd)
{
DoCommand(info,info->flags & FLAG_DRAFT ? CMD_DRAFT :
info->flags & FLAG_LQ ? CMD_LQ : CMD_NEUTRAL);
DoCommand(info,info->flags & FLAG_PITCH6 ? CMD_PITCH6 :
info->flags & FLAG_PITCH8 ? CMD_PITCH8 : CMD_NEUTRAL);
DoCommand(info,info->flags & FLAG_10CPI ? CMD_10CPI :
info->flags & FLAG_12CPI ? CMD_12CPI :
info->flags & FLAG_15CPI ? CMD_15CPI : CMD_NEUTRAL);
GT_SetGadgetAttrs(info->PGadgets[GD_Rmargin - PGD],info->Pwd,NULL,GTIN_Number,info->Rmargin,TAG_DONE);
GT_SetGadgetAttrs(info->PGadgets[GD_Lmargin - PGD],info->Pwd,NULL,GTIN_Number,info->Lmargin,TAG_DONE);
GT_SetGadgetAttrs(info->PGadgets[GD_Linesperpage - PGD],info->Pwd,NULL,GTIN_Number,info->Lines,TAG_DONE);
if(info->flags & FLAG_PRINT)
GT_SetGadgetAttrs(info->PGadgets[GD_PPrint - PGD],info->Pwd,NULL,GA_Disabled,TRUE,TAG_DONE);
}
}
void RefreshSwd(struct prf_info *info)
{
if(info->Swd)
{
GT_SetGadgetAttrs(info->SGadgets[GD_Headline],info->Swd,NULL,GTST_String,info->Headline,TAG_DONE);
GT_SetGadgetAttrs(info->SGadgets[GD_Footline],info->Swd,NULL,GTST_String,info->Footline,TAG_DONE);
if(info->flags & FLAG_PAGE)
GT_SetGadgetAttrs(info->SGadgets[GD_Pagenumber],info->Swd,NULL,GTCB_Checked,TRUE,TAG_DONE);
else
GT_SetGadgetAttrs(info->SGadgets[GD_Pagenumber],info->Swd,NULL,GTCB_Checked,FALSE,TAG_DONE);
if(info->flags & FLAG_LINE)
GT_SetGadgetAttrs(info->SGadgets[GD_Linenumber],info->Swd,NULL,GTCB_Checked,TRUE,TAG_DONE);
else
GT_SetGadgetAttrs(info->SGadgets[GD_Linenumber],info->Swd,NULL,GTCB_Checked,FALSE,TAG_DONE);
if(info->flags & FLAG_CRLF)
GT_SetGadgetAttrs(info->SGadgets[GD_CRLF],info->Swd,NULL,GTCB_Checked,TRUE,TAG_DONE);
else
GT_SetGadgetAttrs(info->SGadgets[GD_CRLF],info->Swd,NULL,GTCB_Checked,FALSE,TAG_DONE);
if(info->flags & FLAG_FF)
GT_SetGadgetAttrs(info->SGadgets[GD_FF],info->Swd,NULL,GTCB_Checked,TRUE,TAG_DONE);
else
GT_SetGadgetAttrs(info->SGadgets[GD_FF],info->Swd,NULL,GTCB_Checked,FALSE,TAG_DONE);
if(info->flags & FLAG_DATE)
GT_SetGadgetAttrs(info->SGadgets[GD_Date],info->Swd,NULL,GTCB_Checked,TRUE,TAG_DONE);
else
GT_SetGadgetAttrs(info->SGadgets[GD_Date],info->Swd,NULL,GTCB_Checked,FALSE,TAG_DONE);
if(info->flags & FLAG_TIME)
GT_SetGadgetAttrs(info->SGadgets[GD_Time],info->Swd,NULL,GTCB_Checked,TRUE,TAG_DONE);
else
GT_SetGadgetAttrs(info->SGadgets[GD_Time],info->Swd,NULL,GTCB_Checked,FALSE,TAG_DONE);
if(info->flags & FLAG_FILE)
GT_SetGadgetAttrs(info->SGadgets[GD_Filename],info->Swd,NULL,GTCB_Checked,TRUE,TAG_DONE);
else
GT_SetGadgetAttrs(info->SGadgets[GD_Filename],info->Swd,NULL,GTCB_Checked,FALSE,TAG_DONE);
if(info->flags & FLAG_PRINT)
GT_SetGadgetAttrs(info->SGadgets[GD_Print],info->Swd,NULL,GA_Disabled,TRUE,TAG_DONE);
AttachList(info);
}
}